ACM-2023-03-02

Jahrgang: 2023
Ausgabe: 03
Autor: Markus Hoffmann
Programm: ACMMATCHVPLAYERSETTINGS2.LSP
Funktionalitt: Layerstatus bertragen in andere Layouts oder offene DWGs
Format: LISP
Lauffhig ab: AutoCAD 2020
Befehle: ACMMVPLS
Bezug: Online


Beschreibung
============

Layerstatus bertragen

Das bereits im letzten AUTOCAD Magazin vorgestellte LISP-Tool ACMMATCHVPLAYERSETTINGS bertrgt einen 
Layerstatus von einem Layoutansichtsfenster auf ein Ansichtsfenster derselben Zeichnungsdatei, jedoch 
in einem anderen Layout.DieseFunktion wird nmlich nicht vom dafr blichen Befehl EIGENSCHAFTEN 
BERTRAGEN abgedeckt.
Da stellt sich die Frage, ob nicht eine Erweiterung des Programms auf ebenfalls in der aktuellen Session 
geffneten Zeichnungsdateien mglich ist? Wir wissen ja, dass man AutoLISP-Anwendungen nur in der Datei 
verwenden kann, in der sie geladen sind. Dort arbeiten sie im eigenen Namespace. Es ist also nicht mglich, 
innerhalb einer AutoLISP-Anwendung eine andere Zeichnungsdatei zu ffnen, sie zu aktivieren und 
LISP-Anweisungen dort auszufhren. Fr solche Flle, zum Beispiel das Drucken mehrerer Dateien, wird 
blicherweise auf Skripte oder Skriptgeneratoren und hnliche Tools zurckgegriffen.
Allerdings lassen sich auf etwas anderen Wegen  Stichwort ObjectDBX, Blackboard  geffnete und sogar 
ungeffnete Zeichnungsdateien eingeschrnkt manipulieren. Im Fall von ACMMATCHVPLAYERSETTINGS soll nun der 
Layerstatus eines Layoutansichtsfensters nicht nur in einem anderen Layout verfgbar sein, sondern auch 
in anderen geffneten Zeichnungsdateien. Die derzeit geffneten Dateien lassen sich mit 
(vla-get-Documents (vlax-get-acad-object)) ermitteln und darauf aufbauend die Eigenschaften und Methoden 
untersuchen und verndern. Im Fall von ACMMATCHVPLAYERSETTINGS.LSP verbindet sich das Tool auf diesem Weg 
mit der Datenbank des Layerstatemanagers einer geffneten Datei und stt dort den Import eines vorher als 
Datei abgelegten Layerstatus an. Aufgrund der oben genannten Einschrnkungen, nicht in eine weitere Datei 
springen zu knnen und dort einen weitere Code ausfhren zu lassen, belsst es ACMMATCHVPLAYERSETTINGS2.LSP
dabei, den Layerstatus zu importieren. Die Zuweisung zu einem Layoutansichtsfenster sollte nun wieder von 
Hand oder mithilfe von ACMMATCHVPLAYERSETTINGS2 durchgefhrt werden.Fr diese neue Funktionwurde neben 
zustzlichem Code die Abfrage eingebaut, ob der Layerstatus eines Ansichtsfensters in ein anderes Layout 
oder in eine andere geffnete DWG bertragen werden soll.